Skip to content

Add creationDate to JSON output#13

Open
travisirby wants to merge 1 commit intosteipete:mainfrom
travisirby:main
Open

Add creationDate to JSON output#13
travisirby wants to merge 1 commit intosteipete:mainfrom
travisirby:main

Conversation

@travisirby
Copy link
Copy Markdown

The underlying EventKit API exposes creationDate on EKCalendarItem (which EKReminder inherits). This change includes it in the ReminderItem model so it appears in JSON output.

This is useful for automation that needs to know when a reminder was originally created (e.g., filtering 'recently created' items).

Changes

  • Added creationDate: Date? to ReminderItem struct
  • Updated all ReminderItem constructors to include creationDate
  • Updated ReminderData (the Sendable transfer struct) to include it

Testing

  • Build passes
  • Verified JSON output now includes creationDate field

EKReminder exposes creationDate (inherited from EKCalendarItem).
This change includes it in ReminderItem model and all JSON output.
chrisae9 added a commit to chrisae9/remindctl that referenced this pull request Feb 28, 2026
…stness

Fixes issues steipete#23, steipete#6, steipete#31, steipete#32 (partial) and implements PR steipete#13 feature:

- All-day reminders (issues steipete#23, steipete#6): Add ParsedDate type to DateParsing with
  isDateOnly flag. Date-only inputs (YYYY-MM-DD, today, tomorrow, etc.) now
  create true all-day reminders using only [year,month,day] DateComponents,
  omitting hour/minute so EventKit treats them as all-day. Timed inputs still
  include hour/minute. ReminderItem gains dueDateIsAllDay: Bool field. Display
  shows date without time for all-day reminders.

- Multiple list names (issue steipete#31): `remindctl list A B C` now returns merged
  results from all named lists. `remindctl show --list A --list B` also merges
  results (repeatable --list flag).

- edit --due fix (issue steipete#32): isDateOnly is now correctly threaded through
  ReminderUpdate so that editing a due date with a date-only string sets proper
  all-day components rather than midnight-timed ones.

- creationDate in JSON output (PR steipete#13): ReminderItem now exposes creationDate
  from EKCalendarItem.creationDate in all output modes.

- item(from:) helper: consolidate EKReminder → ReminderItem conversion to a
  single private method, used across createReminder, updateReminder, and
  completeReminders.

- 9 new tests covering ParsedDate, all-day flags, multiple list fetch, and
  backward-compat for parseUserDate.
bobsahur-robot pushed a commit to raymondlee-personal-org/remindctl that referenced this pull request Mar 29, 2026
…nds, and output

- AddCommand: --repeat, --alarm, --url, --parent, --tags flags
- EditCommand: same + --clear-alarm, --clear-repeat, --clear-url
- EventKitStore: full read/write for all new fields via EKReminder
- OutputFormatting: display recurrence, alarm, url, tags in text + JSON
- Cherry-picked model extensions from upstream PRs steipete#40, steipete#39, steipete#17, steipete#35, steipete#13
jakubswierczek added a commit to jakubswierczek/remindctl that referenced this pull request Mar 30, 2026
resolved conflict with steipete#29 refactor — creationDate added to item(from:) helper

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jakubswierczek added a commit to jakubswierczek/remindctl that referenced this pull request Mar 30, 2026
…ete#30)

resolved conflicts with steipete#29 refactor and steipete#13 creationDate — added
dueDateIsAllDay to ReminderItem, item(from:), and fetchReminders

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant